
public class Banque
{
	
	public Banque()
	{
		
	}
	
	public void ouvrirCompte(String nom, String password)throws Exception
	{
		if(TestBanque.liste.containsKey(nom))
			throw new Exception("Utilisateur déjà présent");
		else
		{
			Compte c = new Compte(nom, password, 0);
			TestBanque.liste.put(nom,c);
		}
		
	}
	
	public Compte CompteVerifie(String nom, String password)throws Exception
	{
		Compte c = null;
		if(TestBanque.liste.containsKey(nom))
		{
			c = TestBanque.liste.get(nom);
			boolean test = c.compteOk(nom, password);
			if(test)
				return (TestBanque.liste.get(nom));
			else
				throw new Exception("Erreur identifiant !");
				
		}
		return c;
	}
	
	public int fermerCompte(String nom, String mdp)
	{
		int solde = -1;
		try {
		
			Compte c = this.CompteVerifie(nom, mdp);
			if(c != null)
			{
				c = TestBanque.liste.get(nom);
				solde = c.getSld();
				TestBanque.liste.remove(nom);
			}
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return solde;
	}
	
	public void deposer(int somme, Compte c)
	{
			try {
				Compte compteCrediter = this.CompteVerifie(c.getNom(), c.getMdp());
				compteCrediter.setSld(compteCrediter.getSld()+somme);
			} catch (Exception e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
	}
	
	public int  retirer(int somme, Compte c)
	{
		Compte compteCrediter = null;
		try {
			 compteCrediter = this.CompteVerifie(c.getNom(), c.getMdp());
			compteCrediter.setSld(compteCrediter.getSld() - somme);
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return compteCrediter.getSld();
	}
	
	public int  soldeCompte(int somme, Compte c)
	{
		
		int solde = -1;
		try {
			Compte compteCrediter = this.CompteVerifie(c.getNom(), c.getMdp());
			solde = compteCrediter.getSld();
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return solde;
	}
	
}